package com.intelligent.system.auth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.intelligent.system.auth.dto.*;
import com.intelligent.system.auth.entity.Role;
import com.intelligent.system.common.response.ResultDO;

import java.util.List;

public interface IRoleService extends IService<Role> {
    ResultDO<RoleDTO> getRoleById(Long id);
    ResultDO<List<RoleDTO>> getRoleList(RoleQueryDTO param);
    ResultDO<?> addRole(RoleDTO param);
    ResultDO<?> updateRole(RoleDTO param);
    ResultDO<?> updateRoleStatus(Long roleId, Byte status);
    ResultDO<?> deleteRoleById(Long roleId);

    /**
     * 获取角色对应的菜单列表，并标记选中状态
     * @param roleId 角色ID
     * @return 菜单列表（包含选中状态）
     */
    ResultDO<List<MenuWithRoleDTO>> getRoleMenus(Long roleId);
} 